<html>
<head>
<title>OGR WCTS Implementation</title>
</head>
<body>

<h1>OGR WCTS Implementation</h1>				

As a part of a project to implement a Coordinate Transformations Server for
<a href="http://www.dmsolutions.ca/">DM Solutions Group</a> I am implementing
a WCTS (Web Coordinate Transformation Server) attempting to conform to the
OpenGIS internal discussion paper 02-061r2.  This paper can be found in 
the OpenGIS internal documents are for 
<a href="http://www.opengis.org/">OpenGIS</a> members.<p>

Note that this is not yet a specification, it is a proposal that might be
adopted as a specification at some point, likely after further changes.  Thus
<i>WCTS</i> is a protocol in flux.<p>

This implementation is based on the <a href="http://www.gdal.org/ogr/classOGRSpatialReference.html">OGRSpatialReference</a> class
within the <a href="http://www.gdal.org/">GDAL/OGR</a> library.
The underlying projections engine is 
<a href="http://www.remotesensing.org/proj">PROJ.4</a>, and the GML support
from <a href="http://www.gdal.org/ogr">OGR</a> is used.<p>

The code implementing the server can be found in the GDAL/OGR CVS tree
in the gdal/ogr/wcts directory, along with some sample request documents.
Currently all the server specific code is in the 
<a href="http://www.gdal.org/srctree/ogr/wcts/ogrwcts.cpp">
ogrwcts.cpp</a> file in this directory.<p>

Some <a href="imp_details.html">Implementation Details</a> on features and
limitations of the server are available.  There is also an 
<a href="install.html">Installation and Configuration</a> document.<P>

Some sample XML input requests are available for the following requests:<p>
<ul>
<li> <a href="http://www.gdal.org/srctree/ogr/wcts/req_getcap.xml">GetCapabilities</a><p>
<li> <a href="http://www.gdal.org/srctree/ogr/wcts/req_istransformable.xml">IsTransformable</a><p>
<li> <a href="http://www.gdal.org/srctree/ogr/wcts/req_transform.xml">Transform</a><p>
<li> <a href="http://www.gdal.org/srctree/ogr/wcts/req_remote.xml">Transform using FileURL</a><p>
</ul>

A development server is running at http://maps.gdal.org/cgi-bin/ogrwcts.  Some
sample KVP encoded requests are:<p>

<ul>
<li> <a href="http://maps.gdal.org/cgi-bin/ogrwcts?REQUEST=GetCapabilities">
http://maps.gdal.org/cgi-bin/ogrwcts?REQUEST=GetCapabilities</a>: Fetch
the capabilities.<p>

<li> <a href="http://maps.gdal.org/cgi-bin/ogrwcts?REQUEST=IsTransformable&SOURCECRS=EPSG:4001&TARGETCRS=EPSG:4002">http://maps.gdal.org/cgi-bin/ogrwcts?REQUEST=IsTransformable&SOURCECRS=EPSG:4001&TARGETCRS=EPSG:4002</a>: Test
if EPSG:4001 can be transformed to EPSG:4002.<p>

</ul>

Note that WCTS does not support KVP (including the arguments in the URL) usage
for the actual transformation operations, so you need something that can
PUT the XML request data to utilize the transform operator.<p>

An <a href="client.html">HTML form</a>
based client (backed by a cgi-bin program) has been implemented
for user interface to WCTS services and testing.<p>

<h2>Other WCTS Implementations</h2>

Currently there is only one other WCTS implementation in existance.  That
is the one done by <a href="http://www.lat-lon.de">lat/lon</a>, the folks
that write the WCTS document.  That implementation is also open source, and
can be found within the <a href="http://www.deegree.org">deegree</a> project.
<p>

A user form for interacting with an instance of the deegree based server
is <a href="http://www.lat-lon.de/projekte_en.html#coord">available at lat/lon
</a>.<p>

</BODY>
</html>
